package com.tedu.adapter.converter;


import com.tedu.adapter.protocol.vo.ContentListVO;
import com.tedu.adapter.protocol.vo.ContentVO;
import com.tedu.domain.bo.ContentBO;
import com.tedu.domain.bo.ContentListBO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.stream.Collectors;

/**
 * Content内容装配类
 */
@Component
public class ContentConvertoerBoToVo {

    /**
     * 将BO对象转化为VO对象
     *
     * @param contentBO 内容BO对象
     * @return 内容VO对象
     */
    public ContentVO boAssembleVO(ContentBO contentBO) {
        ContentVO contentVO = new ContentVO();
        BeanUtils.copyProperties(contentBO, contentVO);
        return contentVO;
    }

    /**
     * 将BO分页对象转换为VO分页对象
     *
     * @param boPageInfo 内容BO分页对象
     * @return 内容VO分页对象
     */
    public List<ContentListVO> listBoListToVOList(List<ContentListBO> boPageInfo) {
        List<ContentListBO> contentListBOs = boPageInfo;
        List<ContentListVO> contentListVOs = contentListBOs.stream().map(contentListBO -> {
            ContentListVO contentListVO = new ContentListVO();
            BeanUtils.copyProperties(contentListBO, contentListVO);
            return contentListVO;
        }).collect(Collectors.toList());
        return contentListVOs;
    }
}
